// JavaScript Document
//adiciona mascara de cnpj
function MascaraCNPJ(cnpj){
	if(mascaraInteiro(cnpj)==false){
		event.returnValue = false;
	}	
	return formataCampo(cnpj, '00.000.000/0000-00', event);
}

//adiciona mascara de cep
function MascaraCep(cep){
		if(mascaraInteiro(cep)==false){
		event.returnValue = false;
	}	
	return formataCampo(cep, '00.000-000', event);
}

//adiciona mascara de email
function MascaraEmail(email){
		if(mascaraInteiro(email)==false){
		event.returnValue = false;
	}	
	return ValidaEmail;
}

//adiciona mascara de dataNascimento
function MascaraDataNascimento(dataNascimento){
	if(mascaraInteiro(dataNascimento)==false){
		event.returnValue = false;
	}	
	return formataCampo(dataNascimento, '00/00/0000', event);
}

//adiciona mascara ao telefone
function MascaraTelefone(telefone){	
	if(mascaraInteiro(telefone)==false){
		event.returnValue = false;
	}	
	return formataCampo(telefone, '(00) 0000-0000', event);
}

//adiciona mascara ao cns
function MascaraNumeroCNS(cns){	
	if(mascaraInteiro(cns)==false){
		event.returnValue = false;
	}	
	return formataCampo(cns, '000000000000000', event);
}

//adiciona mascara ao CPF
function MascaraCPF(cpf){
	if(mascaraInteiro(cpf)==false){
		event.returnValue = false;
	}	
	return formataCampo(cpf, '000.000.000-00', event);
}

//adiciona mascara ao RG
function MascaraRG(rg){
	if(mascaraInteiro(rg)==false){
		event.returnValue = false;
	}	
	return formataCampo(rg, '0.000.000', event);
}

//valida telefone
function ValidaTelefone(tel){
	exp = /\(\d{2}\)\ \d{4}\-\d{4}/
	if(!exp.test(tel.value))
		alert('Numero de Telefone Invalido!');
}
//valida cns
function ValidaCNS(cns){
	exp = /\d{15}/
	if(!exp.test(cns.value))
		alert('Numero de CNS Invalido!');
}

//valida CEP
function ValidaCep(cep){
	exp = /\d{2}\.\d{3}\-\d{3}/
	if(!exp.test(cep.value))
		alert('Numero de Cep Invalido!');		
}

function ValidaRg(rg){
	exp = /\d{1}\.\d{3}\.\d{3}/
	if(!exp.test(rg.value))
		alert('Numero de RG Invalido!');		
}
function ValidaEmail(email){
	exp = /^{A-Za-z0-9_\-\.}+@{A-Za-z0-9_\-\.}{2,}\.{A-Za-z0-9}{2,}(\.{A-Za-z0-9})?/
	if(!exp.test(email.value))
		alert('Formato de e-mail incorreto!');
}

//valida dataNascimento
function ValidaDataNascimento(dataNascimento){
	exp = /\d{2}\/\d{2}\/\d{4}/
	if(!exp.test(dataNascimento.value))
		alert('Data Nascimento Invalida!');			
}

function vercpf (Objcpf) 
{
	var cpf = Objcpf.value;
if (cpf.length != 11 || cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999")
	return false;
}

//valida o CPF digitado
function ValidarCPF(Objcpf){
	var cpf = Objcpf.value;
	exp = /\.|\-/g
	cpf = cpf.toString().replace( exp, "" );
	var digitoDigitado = eval(cpf.charAt(9)+cpf.charAt(10));
	var soma1=0, soma2=0;
	var vlr =11;
	
	if (cpf.length != 11 || cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999")
	alert('CPF Invalido!');
	cpf.focus(cpf_profissional);
	
	
	
	for(i=0;i<9;i++){
		soma1+=eval(cpf.charAt(i)*(vlr-1));
		soma2+=eval(cpf.charAt(i)*vlr);
		vlr--;
	}	
	soma1 = (((soma1*10)%11)==10 ? 0:((soma1*10)%11));
	soma2=(((soma2+(2*soma1))*10)%11);
		
	var digitoGerado=(soma1*10)+soma2;
	if(digitoGerado!=digitoDigitado)
		alert('CPF Invalido!');	
	}
 
//valida numero inteiro com mascara
function mascaraInteiro(){
	if (event.keyCode < 48 || event.keyCode > 57){
		event.returnValue = false;
		return false;
	}
	return true;
}

if ( $(this).hasClass(email) ){
                var er = new RegExp(/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{2,}\.[A-Za-z0-9]{2,}(\.[A-Za-z0-9])?/);
                if (!er.test($.trim( $(this).val() ))){
                    $(this).removeClass('valid').addClass('invalid');
                    $(this).select();
                    $(this).parent().find('span').html(mailMsg).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500);
                    valid = false;
                    return false;
                }
                else{
                    $(this).removeClass('invalid').addClass('valid');
                    $(this).parent().find('span').fadeOut(500);
                }
            } 

//valida o CNPJ digitado
function ValidarCNPJ(ObjCnpj){
	var cnpj = ObjCnpj.value;
	var valida = new Array(6,5,4,3,2,9,8,7,6,5,4,3,2);
	var dig1= new Number;
	var dig2= new Number;
	
	
	exp = /\.|\-|\//g
	cnpj = cnpj.toString().replace( exp, "" ); 
	var digito = new Number(eval(cnpj.charAt(12)+cnpj.charAt(13)));
		
	for(i = 0; i<valida.length; i++){
		dig1 += (i>0? (cnpj.charAt(i-1)*valida[i]):0);	
		dig2 += cnpj.charAt(i)*valida[i];	
	}
	dig1 = (((dig1%11)<2)? 0:(11-(dig1%11)));
	dig2 = (((dig2%11)<2)? 0:(11-(dig2%11)));
	
	if(((dig1*10)+dig2) != digito)	
		alert('CNPJ Invalido!');
		
		
		
}

//formata de forma generica os campos
function formataCampo(campo, Mascara, evento) { 
	var boleanoMascara; 
	
	var Digitato = evento.keyCode;
	exp = /\-|\.|\/|\(|\)| /g
	campoSoNumeros = campo.value.toString().replace( exp, "" ); 
   
	var posicaoCampo = 0;	 
	var NovoValorCampo="";
	var TamanhoMascara = campoSoNumeros.length;; 
	
	if (Digitato != 8) { // backspace 
		for(i=0; i<= TamanhoMascara; i++) { 
			boleanoMascara  = ((Mascara.charAt(i) == "-") || (Mascara.charAt(i) == ".")
								|| (Mascara.charAt(i) == "/")) 
			boleanoMascara  = boleanoMascara || ((Mascara.charAt(i) == "(") 
								|| (Mascara.charAt(i) == ")") || (Mascara.charAt(i) == " ")) 
			if (boleanoMascara) { 
				NovoValorCampo += Mascara.charAt(i); 
				  TamanhoMascara++;
			}else { 
				NovoValorCampo += campoSoNumeros.charAt(posicaoCampo); 
				posicaoCampo++; 
			  }	   	 
		  }	 
		campo.value = NovoValorCampo;
		  return true; 
	}else { 
		return true; 
	}
}